package org.come.Frame;

import com.tool.tcpimg.UIUtils;
import org.come.Jpanel.TestpackJapnel;
import org.come.until.FormsManagement;
import org.come.until.MessagrFlagUntil;
import org.come.until.Music;

import javax.swing.*;
import javax.swing.plaf.basic.BasicInternalFrameUI;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

/**
 * @author 郑天宇
 * @date : 2017年11月20日 下午3:21:40
 */
// 道具栏
public class TestpackJframe extends JInternalFrame implements MouseListener {
	// private TestpackJframe testpackJframe;
	private TestpackJapnel jpac;
	private int first_x, first_y;

	public static TestpackJframe getTestpackJframe() {
		return (TestpackJframe) FormsManagement.getInternalForm(2).getFrame();
	}

	public TestpackJframe() throws Exception {
		// 键盘监听
		this.setBorder(BorderFactory.createEmptyBorder());// 去除内部窗体的边框
		((BasicInternalFrameUI) this.getUI()).setNorthPane(null);// 去除顶部的边框
		jpac = new TestpackJapnel();
		this.setContentPane(jpac);
		this.setBackground(UIUtils.Color_BACK);
		this.setBounds(5, 100, 363, 471);
		this.pack();
		this.setVisible(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.addMouseListener(this);
		this.addMouseMotionListener(new MouseMotionListener() {

			@Override
			public void mouseMoved(MouseEvent e) {
				if (MessagrFlagUntil.ImgFlagImg.equals(MessagrFlagUntil.MOUSE13)) {
					MessagrFlagUntil.setMouse(MessagrFlagUntil.MOUSE1);
				}
			}

			@Override
			public void mouseDragged(MouseEvent e) {
				if (isVisible()) {
					int x = e.getX() - first_x;
					int y = e.getY() - first_y;
					setBounds(x + getX(), y + getY(),getWidth(),getHeight());
				}
			}
		});

	}

	@Override
	public void mouseClicked(MouseEvent e) {

	}

	@Override
	public void mousePressed(MouseEvent e) {
		// 打开了窗体
		if (e.isMetaDown()) {// 检测鼠标右键单击
			FormsManagement.HideForm(2);
			// 开启窗口音效
			Music.addyinxiao("关闭窗口.mp3");
		} else {
			FormsManagement.Switchinglevel(2);
		}
		this.first_x = e.getX();
		this.first_y = e.getY();
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	public TestpackJapnel getJpac() {
		return jpac;
	}

	public void setJpac(TestpackJapnel jpac) {
		this.jpac = jpac;
	}

	public int getFirst_x() {
		return first_x;
	}

	public void setFirst_x(int first_x) {
		this.first_x = first_x;
	}

	public int getFirst_y() {
		return first_y;
	}

	public void setFirst_y(int first_y) {
		this.first_y = first_y;
	}

}
